CPPFLAGS = -c -fno-builtin -fno-rtti -fno-exceptions

.PHONY:  clean

OBJS = boot.o main.o


all: kernel.elf

kernel.elf: $(OBJS) link.ld
	ld -T link.ld $(OBJS) -o kernel.tmp
	objcopy -O binary kernel.tmp a:/kernel.bin --localize-hidden
	objdump -S -M i386 -M intel -M addr32 -G -D kernel.tmp > debug.txt
	$(RM) kernel.tmp
	$(RM) $(OBJS)

clean:
	$(RM) $(OBJS)


%.o: %.cpp
	g++ $(CPPFLAGS)  $< -o $@

%.o: %.asm
	nasm -f elf  $< -o $@

